package com.escool.model;

// Generated Dec 12, 2012 8:20:30 PM by Hibernate Tools 3.4.0.CR1

import java.util.HashSet;
import java.util.Set;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import static javax.persistence.GenerationType.IDENTITY;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;

/**
 * TbAlumno generated by hbm2java
 */
@Entity
@Table(name = "tb_alumno")
public class TbAlumno implements java.io.Serializable {

	private Integer idAlumno;
	private TbResponsable tbResponsable;
	private String primerNombreAlumno;
	private String segundoNombreAlumno;
	private String primerApellidoAlumno;
	private String segundoApellidoAlumno;
	private String fechaNacAlumno;
	private Set<TbExpediente> tbExpedientes = new HashSet<TbExpediente>(0);

	public TbAlumno() {
	}

	public TbAlumno(TbResponsable tbResponsable, String primerNombreAlumno,
			String primerApellidoAlumno, String fechaNacAlumno) {
		this.tbResponsable = tbResponsable;
		this.primerNombreAlumno = primerNombreAlumno;
		this.primerApellidoAlumno = primerApellidoAlumno;
		this.fechaNacAlumno = fechaNacAlumno;
	}

	public TbAlumno(TbResponsable tbResponsable, String primerNombreAlumno,
			String segundoNombreAlumno, String primerApellidoAlumno,
			String segundoApellidoAlumno, String fechaNacAlumno,
			Set<TbExpediente> tbExpedientes) {
		this.tbResponsable = tbResponsable;
		this.primerNombreAlumno = primerNombreAlumno;
		this.segundoNombreAlumno = segundoNombreAlumno;
		this.primerApellidoAlumno = primerApellidoAlumno;
		this.segundoApellidoAlumno = segundoApellidoAlumno;
		this.fechaNacAlumno = fechaNacAlumno;
		this.tbExpedientes = tbExpedientes;
	}

	@Id
	@GeneratedValue(strategy = IDENTITY)
	@Column(name = "id_alumno", unique = true, nullable = false)
	public Integer getIdAlumno() {
		return this.idAlumno;
	}

	public void setIdAlumno(Integer idAlumno) {
		this.idAlumno = idAlumno;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "tb_responsable_id_responsable", nullable = false)
	public TbResponsable getTbResponsable() {
		return this.tbResponsable;
	}

	public void setTbResponsable(TbResponsable tbResponsable) {
		this.tbResponsable = tbResponsable;
	}

	@Column(name = "primer_nombre_alumno", nullable = false, length = 45)
	public String getPrimerNombreAlumno() {
		return this.primerNombreAlumno;
	}

	public void setPrimerNombreAlumno(String primerNombreAlumno) {
		this.primerNombreAlumno = primerNombreAlumno;
	}

	@Column(name = "segundo_nombre_alumno", length = 45)
	public String getSegundoNombreAlumno() {
		return this.segundoNombreAlumno;
	}

	public void setSegundoNombreAlumno(String segundoNombreAlumno) {
		this.segundoNombreAlumno = segundoNombreAlumno;
	}

	@Column(name = "primer_apellido_alumno", nullable = false, length = 45)
	public String getPrimerApellidoAlumno() {
		return this.primerApellidoAlumno;
	}

	public void setPrimerApellidoAlumno(String primerApellidoAlumno) {
		this.primerApellidoAlumno = primerApellidoAlumno;
	}

	@Column(name = "segundo_apellido_alumno", length = 45)
	public String getSegundoApellidoAlumno() {
		return this.segundoApellidoAlumno;
	}

	public void setSegundoApellidoAlumno(String segundoApellidoAlumno) {
		this.segundoApellidoAlumno = segundoApellidoAlumno;
	}

	@Column(name = "fecha_nac_alumno", nullable = false, length = 45)
	public String getFechaNacAlumno() {
		return this.fechaNacAlumno;
	}

	public void setFechaNacAlumno(String fechaNacAlumno) {
		this.fechaNacAlumno = fechaNacAlumno;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "tbAlumno")
	public Set<TbExpediente> getTbExpedientes() {
		return this.tbExpedientes;
	}

	public void setTbExpedientes(Set<TbExpediente> tbExpedientes) {
		this.tbExpedientes = tbExpedientes;
	}

}
